//
//  MediaLibraryAccess_01AppDelegate.m
//  MediaLibraryAccess_01
//
//  Created by 畑圭輔 on 09/11/21.
//  Copyright Keisuke Hata 2009. All rights reserved.
//

#import "MediaLibraryAccess_01AppDelegate.h"
#if TARGET_IPHONE_SIMULATOR == 1
	#error "iPhoneシミュレーターでは,iPodライブラリにアクセスできない為コンパイルエラーにしています"
#endif

@implementation MediaLibraryAccess_01AppDelegate

@synthesize window;

#pragma mark -
#pragma mark Application IBAction

// 現在再生中のアイテム情報を取得する
- (IBAction) getCurrnetMusicItem: (id) sender {
	NSLog(@"getCurrentMusicItem is called");
	
	// 現在再生されている曲のアイテムを取得する
	MPMediaItem *item = _iPod.nowPlayingItem;
	
	// OS3.0では、名前が設定されていない場合、nilが入るので注意
	NSString *title  = [item valueForProperty:MPMediaItemPropertyTitle];
	NSString *artist = [item valueForProperty:MPMediaItemPropertyArtist];
	if(title == nil)
		title = [NSString stringWithFormat:@"不明な曲"];
	if(artist == nil)
		artist = [NSString stringWithFormat:@"不明なアーティスト"];
	
	// 取得した情報をセットする
	_artistNameLabel.text = artist;
	_songTitleLabel.text  = title;
}

#pragma mark -
#pragma mark Application Startup

- (void)applicationDidFinishLaunching:(UIApplication *)application {    
    
    // システムのiPodプレイヤーを生成する
	_iPod = [MPMusicPlayerController iPodMusicPlayer];
	NSAssert( _iPod != nil , @"MPMusicPlayer is nil!!" );

	[window makeKeyAndVisible];
}

/**
 applicationWillTerminate: saves changes in the application's managed object context before the application terminates.
 */
- (void)applicationWillTerminate:(UIApplication *)application {
	
}

- (void)dealloc {
	
	[_iPod release];
	[window release];
	[super dealloc];
}


@end